Cloud computing is an approach that can be used to allow customers to create and activate new services, as well as to update existing service capabilities on-demand and in near real-time. To accommodate requirements of on-demand service request from customers, software-defined networking (“SDN”) is used to allow network infrastructure as a network resource pool (network-on-demand) for IP layer network applications to adapt to user service demand through on-demand network resource allocation and reallocation via hardware programmability on virtualized network components. Thus, SDN can obviate the need for demand to be adapted to constraints of hardware-oriented IP network infrastructure.
One difficulty in network operations that may arise with SDN networks is the operation of on-demand network resource allocation or reallocation that requires knowledge of the network topology at the time needed. A network (e.g., IP) topology is a set of network resource components (e.g., routers or virtual routers) and their linking relationships supporting given IP Layer 3 applications such as Virtual Private Network (VPN). A SDN network may have an underlying network infrastructure of IP networks. A SDN network topology may be a set of Link Layer switches (also called Layer 2 switches, for example Ethernet switches) and links connecting Layer 2 switches. A Layer 3 topology may be a logical topology, which is built on Layer 2 physical network topology. Because SDN can enable almost instantaneous changes to the virtual network configuration, one may have difficulty tracking and discovering the connectivity relationship between virtualized network functions (which may be related to IP routing), virtual machines (VMs), and host hardware server (which may host the IP network node) at the time needed. As such, it may be difficult to identify available and utilized elements or connectivity information relating to the virtual network topology at Layer 3 or Layer 2 at a given time.